## Basic tool info Tool name: Ostris/Skin Tone Slider v1.0 Tool description: Simple LoRA to help with adjusting a character's skin tone. Tool cover: https://cdn.wiro.ai/uploads/models/ostris-skintone-slider-v1-cover.jpg Tool categories: - model - lora-sd - text-to-image - slider - checkpoint-file - fp16 - persistent Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/Ostris/Skin Tone Slider v1.0 Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: prompt label: prompt help: prompt-help type: textarea default: , photo of a woman on a jet ski, taken from the front, blue tank top, smiling - name: negativePrompt label: negativeprompt help: negativeprompt-help type: textarea default: cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution - name: samples label: numberofoutputs help: numberofoutputs-help type: number default: 4 - name: steps label: inferencesteps help: inferencesteps-help type: number default: 20 - name: scale label: guidancescale help: guidancescale-help type: float default: 7.0 - name: seed label: seed help: seed-help type: text default: 123456 - name: width label: width help: width-help type: number default: 512 - name: height label: height help: height-help type: number default: 512 - name: scheduler label: scheduler help: scheduler-help type: select default: EulerDiscreteScheduler options: - value: "EulerDiscreteScheduler" label: EulerDiscreteScheduler - value: "DDIMScheduler" label: DDIMScheduler - value: "LMSDiscreteScheduler" label: LMSDiscreteScheduler - value: "DPMSolverMultistepScheduler" label: DPMSolverMultistepScheduler - value: "EulerDiscreteScheduler" label: EulerDiscreteScheduler - value: "PNDMScheduler" label: PNDMScheduler - value: "DDPMScheduler" label: DDPMScheduler - value: "EulerAncestralDiscreteScheduler" label: EulerAncestralDiscreteScheduler ## Tool Parameter Inspires: - prompt: , masterpiece, best quality, 1girl, japanese, brown hair, medium hair, brown eyes, summer, beach, sitting on rock, bikini - negativePrompt: (worst quality:1.6), (low quality:1.6), (normal quality:1.6), lowres, bad anatomy, extra limb, missing limbs, deformed hands, long neck, long body, imperfect, (bad hands), conjoined fingers, deformed fingers, unnatural face, unnatural body, error, buck teeth, nsfw, multiple eyebrows, error, boobs, nipples, nfsw, nude, bad arms - scale: 7 - steps: 20 - prompt: , photo, man with brown hair sitting in a train full of flamingos wearing a yellow orange high fashion outfit, very_low_angle_shot, fashion, neon lights, cinematic, shot on Afga Vista 400, 35mm, natural skin, close up, - negativePrompt: nude, cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution - scale: 7 - steps: 20 - prompt: , a woman in cosplay, action shot, award winning photo, shot at night, dramatic lighting, high detail skin texture on face, grunge, uhd - negativePrompt: nude, lofi, cartoon, cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution - scale: 7 - steps: 20 - prompt: , a couple of people sitting at a table with plates of food, man and woman, (blonde woman:0.8), 8k uhd - negativePrompt: nude, green, helmet, dof, depth of field, blurry, logo shirt, cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution - scale: 7 - steps: 20 - prompt: , photo of a woman, award winning photo, swimming in the ocean, taken partially under water, blue hair - negativePrompt: nude, cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution, nipples - scale: 7 - steps: 20 - prompt: , photo of a man with light brown hair, laying on sand, shorts, shirtless, highly detailed face - negativePrompt: (shirt:1.2), cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution, nude, nsfw - scale: 7 - steps: 20 - prompt: , photo of a blonde woman in a bikini, highly detailed face, full body, poolside - negativePrompt: (shirt:1.2), cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution, nude, nsfw, boobs, nipples - scale: 7 - steps: 20 - prompt: , photo of a woman on a jet ski, taken from the front, blue tank top, smiling - negativePrompt: cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution - scale: 7 - steps: 20 ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/Ostris/Skin Tone Slider v1.0" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": ", photo of a woman on a jet ski, taken from the front, blue tank top, smiling", "negativePrompt": "cartoon, cgi, render, illustration, painting, drawing, bad quality, grainy, low resolution", "samples": 4, "steps": 20, "scale": "7.0", "seed": "123456", "width": 512, "height": 512, "scheduler": "EulerDiscreteScheduler", "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "tasktoken": 'eDcCm5yyUfIvMFspTwww49OUfgXkQt', }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.